 // 分类名称唯一性验证
 var flag = true
 async function checkCateName(id) {
     const value = $('[name=cate_name]').val().trim();
     // 发送ajax请求
     const {
         data: res
     } = await axios.get('/cates/checkUpdate', {
         params: {
             cate_name: value,
             id
         }
     })
     if (res.status !== 200) {
         // 分类名称重复，不可提交
         flag = false
     } else {
         flag = true
     }
 }

 //Demo
 layui.use(['form', 'layer'], function () {
     var form = layui.form;
     var layer = layui.layer;

     // 自定义验证规则
     form.verify({
         cateName: function (value) {
             var reg = /^[\u4e00-\u9fa5]{1,5}$/
             if (!reg.test(value)) {
                 return '分类名称必须是1-5的中文'
             }
             // 唯一性验证
             if (!flag) {
                 return '分类名称重复'
             }
         },
         sort: [
             /^[1-9]\d?$/,
             '排序必须是1-99的正整数'
         ]
     })

     //提交
     form.on('submit(formDemo)', function (data) {
         // 获取表单数据对象
         const formData = data.field
         // 发送ajax进行数据的修改
         axios.put('/cates/' + formData.id, formData).then(res => {
             if (res.data.status !== 200) {
                 return layer.msg('修改失败', {
                     icon: 5,
                     time: 2000
                 })
             }
             layer.msg('修改成功', {
                 icon: 6,
                 time: 1000
             }, function () {
                 //当你在iframe页面关闭自身时
                 var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                 parent.layer.close(index); //再执行关闭
             })
         })
         // 一定是同步的返回
         return false;
     });
 });